package co.fitstart.admin.service;

import java.util.List;

import com.demo2do.core.support.Page;

import co.fitstart.admin.entity.content.CreditCouponBatchSearch;
import co.fitstart.entity.coupon.Coupon;
import co.fitstart.entity.coupon.CreditCouponBatch;
import co.fitstart.entity.coupon.ExpireType;

/**
 * 
 * @author Ysy
 *
 */
public interface CreditCouponBatchService extends DataService<CreditCouponBatch> {

    /**
     * List by page 
     * 
     * @param page
     * @return
     */
    public List<CreditCouponBatch> list(Page page);
    
    /**
     * 
     * @return
     */
    public List<CreditCouponBatch> list();
    
    /**
     * 
     * @param creditCouponBatchSearch
     * @param page
     * @return
     */
    public List<CreditCouponBatch> search(CreditCouponBatchSearch creditCouponBatchSearch, Page page);
    
    /**
     * create
     * 
     * @param creditCouponBatch
     */
    public void create(CreditCouponBatch creditCouponBatch);
    
    /**
     * edit
     * 
     * @param creditCouponBatch
     * @param inputExpireType
     */
    public void edit(CreditCouponBatch creditCouponBatch, ExpireType inputExpireType);
    
    /**
     * 
     * @param creditCouponBatch
     */
    public void generateCoupon(CreditCouponBatch creditCouponBatch);
    
    /**
     * 
     * @param coupon
     * @param identification
     */
    public void identify(Coupon coupon, String identification);
}
